თავი 2. ADO-ს ობიექტური მოდელი

ობიექტი Recordset 
ობიექტით Recordset ხორციელდება მონაცემთა ერთობლიობის ამოღება მონაცემების ბაზიდან ცხრილის სახით. ტექნიკური თვალსაზრისით იგი წარმოადგენს კურსორს, რომელიც არის ამორჩეული ჩანაწერების და მიმდინარე ჩანაწერზე ინდიკატორის ერთობლიობა. 4 ტიპის კურსორი არსებობს:
  • adOpenDynamic – შესაძლებელია სხვა მომხმარებლების მიერ ჩატარებული ცვლილებე-ბის ნახვა დროის რეალურ მასშტაბში. მაჩვენებე-ლი შეიძლება ნებისმიერი მიმართულებით გადაადგილდეს; 
  • adOpenKeyset – adOpenDynamic კურსორის ანალოგიურია იმ განსხვავებით, რომ შეუძლებელია სხვა მომხმარებლების მიერ ჩატარებული ცვლილებების ნახვა დროის რეალურ მასშტაბში. მიმდინარე ცვლილებები კურსორში აისახება. მაჩვენებელი  შეიძლება ნებისმიერი მიმართულებით გადაადგილდეს. ერთმომხმარებლიან რეჟიმში adOpenDynamic და adOpenKeyset კურსორებს შორის განსხვავება არ არის;
  • adOpenStatic – იქმნება მონაცემების ასლი. შეუძლებელია მონაცემებში ცვლილებების შეტანა და სხვა მომხმარებლების მიერ ჩატარებული ცვლილებების ნახვა. მაჩვენებელი შეიძლება ნებისმიერი მიმართულებით გადაადგილდეს;
  • adOpenForwardOnly – სტატიკური კურსორია. მაჩვენებელის გადაადგილება მხოლოდ წინ არის შესაძლებელი. ეს კურსორი გაჩუმებით არის სისტემის მიერ არჩეული.

კურსორის ტიპის არჩევა დამოკიდებულია დასმული ამოცანის შინაარსზე. adOpenDynamic  კურსორი მოქნილია, მაგრამ ითხოვს დიდ მანქანურ რესურსებს. adOpenForwardOnly კურსორი სწრაფია, მაგრამ შეზღუდული შესაძლებლობები გააჩნია.
ობიექტის Recordset შექმნა ობიექტის Connection შექმნის ანალოგიურია - საჭიროა მისი გამოცხადება და განსაზღვრა.
Dim can As New ADODB.Recordset
ობიექტის Recordset მონაცემებით შევსება ხორციელდება მეთოდით Open. მისი ჩაწერის სინტაქსი შემდეგია:
ჩანაწერების ერთობლიობა.Open მონაცემების წყარო       [, აქტიური კავშირი მონაცემების ბაზასთან] [, კურსორის ტიპი] [, ბლოკირების ტიპი] [, პარამეტრები]  
  • ჩანაწერების ერთობლიობა არის ობიექტის Recordset სახელი. ჩვენ შემთხვევაში can, იმიტომ, რომ იგი გამოვაცხადეთ როგორც Recordset-ის ობიექტი და შევქმენით მისი ეგზემპლარი (Dim can As New ADODB.Recordset)
  • მონაცემების წყაროს ქვეშ იგულისხმება ობიექტი Recordset შევსებული მონაცემებით. მისი არგუმენტები შეიძლება იყოს: SQL-ის ინსტრუქცია, ცხრილი, შენახული პროცედურა, წარმოდგენა, არსებული ჩანაწერთა ერთობლიობა, URL მისამართი;
  • აქტიური კავშირი მონაცემების ბაზასთან შეიძლება წარმოდგენილი იქნეს ობიექტით Connection ან დაკავშირების სტრიქონით (ConnectionString);
  • კურსორის ტიპი (CursorType) _ შეირჩევა კურსორის 4 ტიპიდან ერთერთი: adOpenDynamic, adOpenKeyset, adOpenStatic, adOpenForwardOnly;
  • ბლოკირების ტიპი (LockType)/ცხრ. 2.4/

მუდმივი
       აღწერა
adLockReadOnly         
შესაძლებელია მონაცემთა ერთობლიობის წაკითხვა (გაჩუმებით)
adLockPessimistic
ჩანაწერთა ბლოკირება ხორციელდება მონაცემების რედაქტირების დროს 
adLockOptimistic
ჩანაწერთა ბლოკირება ხორციელდება მონაცემების განახლების დროს ანუ მეთოდის Update გაშვების მომენტში
adLockBatchOptimistic
გამოიყენება რამდენიმე ჩანაწერის ერთდროულად განახლებისთვის UpdateBatch მეთოდთან ერთად
მუდმივი        
აღწერა
 adCmdUnknown         
დამატებითი ინფორმაციის არარესებობა (გაჩუმებით)
adCmdText
მონაცემების წყაროა ბრძანებათა ტექსტი, SQL-ის ინსტრუქცია
adCmdTable
მონაცემების წყაროა ცხრილის სახელი
adCmdStoredProc
მონაცემების წყაროა შენახული პროცედურა
adCmdFile
მონაცემების წყაროა ფაილის სახელი
adCmdTableDirect
მონაცემების წყაროა ცხრილის სახელი. ამორჩეულ მონაცემებში შეიძლება გამოყენებულ იქნეს ძებნის მეთოდი Seek
adAsyncExecute
ბრძანების ასინქრონული შესრულება
adAsyncFetch
სინქრონულად კეშის შევსება ჩანაწერებით. შემდეგ ამორჩევა ხორციელდება ასინქრონულად
adAsyncFetchNonBlocking
მონაცემების ასინქრონული ამორჩევა
    •        პარამეტრები (Options) /ცხრ. 2.5/
                                      ცხრილი 2. 5